Chat room services from Internet service providers and on-line services provide an informal, public meeting place where participants from all over the world can converse in text, in audio, or through a shared white board. Chat rooms may be maintained by a single server or a plurality of servers spread out over a large area, connected by a network.
A typical chat room service relies on two basic components of Transfer Control Protocol/Internet Protocol (TCP/IP), the networking protocol upon which the Internet is based, clients and servers. Clients run software that allow them to connect to a server. The server accepts connections from several clients at the same time. A plurality of servers are interconnected. From one server, a client can access the conferences and users on other servers. The plurality of servers provide the supporting structure that allow the chat room service to work. The servers maintain information on the current available chat rooms. Every time a new room is created, the information about it is passed to every other server on the network. Servers also administer which clients are currently connected and what options and features they have set up. All of this information is exchanged between servers as it is changed. A typical chat system, Internet Relay Chat (IRC), is described in the Internet RFC1459, "Internet Relay Chat Protocol".
Current chat room services offer poor support for non-ASCII characters, making communication in languages other than English, such as ideographic languages, difficult. Furthermore, current chat room services offer poor support for sharing graphical messages among clients.
In the past, some services allowed a plurality of clients to use a shared white board for sending graphical messages between clients. Each client system had a video camera directed to a white board at the client's site. The images captured by the video camera would be sent to a server. The server would superimpose the images received by each of the video cameras upon each other and send the new image to each of the clients to display. One such system, Video Draw at Xerox PARC, is described in Video Draw: A Video Interface For Collaborative Drawing, by John C. Tang and Scott L. Minneman, printed in the CHI '90 Conference Proceedings.
The use of a shared white board had several drawbacks. One drawback of using a shared white board is that linear conversation could not be conducted easily through the shared graphical space. When more than two clients shared a white board, it was difficult for one to determine which client was making a contribution to the shared white board and there were difficulties in keeping track of the order when each contribution was made. Another drawback of using a shared white board was that after the white board was filled, clients had to wait for other clients to erase the contents on their white board before further contribution could be made.
Thus, a method and apparatus for improving graphical communication between multiple parties using computers on a network is needed.